U.S. Pat. No. 6,757,790 to Chalmer et al., which issued on Jun. 29, 2004, disclosed a distributed, scalable data storage facility with cache memory. The '790 patent describes a data storage facility that includes a plurality of data storage devices coupled through multi-path connections to cache memory. In the disclosed facility, a plurality of interfaces to host processors communicate with the cache memory and with cache tag controllers that define cache memory over multiple paths.
Generally, cache memory serves as an intermediate data repository between persistent memory and host systems. Cache memory can reduce the time a data storage facility requires to complete a data read or write operation by returning requested data or by receiving data being sent to the data storage facility.
Each cache memory entry can have a tag, which specifies the identity of the associated data in persistent memory. When the cache client (e.g., a CPU, Web browser, operating system) wishes to access data in persistent memory, it first checks the cache. If an entry can be found with a tag matching that of the desired data, the cache memory data associated with the entry is used instead of the data in persistent memory. This situation is known as a cache hit. The alternative situation, i.e., when the cache is consulted and found not to contain data with the desired tag, is known as a cache miss. The data fetched from the persistent memory during miss handling can be inserted into the cache, ready for the next access.
The '790 patent discloses two cache tag controller nodes interconnected by a high-speed bus and operating in parallel. Each cache tag controller contains an entry for each cache memory location in the data storage facility. The cache tag controller nodes in the '790 patent are redundant and coherent. Data coherency assures the data at different locations is synchronized at least temporarily to improve reliability. When a I/O node in a data storage facility such as disclosed in the '790 patent receives a request for data, it first checks one of the redundant cache tag controllers to determine if that data has been cached.
With respect to the present invention, the inventors recognized that the need to synchronize redundant cache tag controllers containing an entry for each cache memory location in a data storage facility may result in bottlenecks in the data storage facility. Therefore, there is a need for improved method or system for managing and accessing cached data.